1. Field of the Invention
This invention relates to concurrent storage and more particularly relates to concurrent storage to an active data file storage pool, a copy pool, and a next pool.
2. Description of the Related Art
A data processing system often backs up data from one or more elements of the system to a storage subsystem. For example, the data processing system may include a plurality of clients. Clients may store data on storage devices such as hard disk drives that are co-located with each client. The data processing system may back up the data from the client storage devices to the storage subsystem.
The storage subsystem may include one or more storage devices organized into a plurality of storage pools. A storage pool may be configured as a logical volume on a magnetic tape drive, a hard disk drive, an optical storage device, a micromechanical storage device, or the like. Client data may be backed up by being copied to a storage pool.
Ideally, the data processing system should back up the most current client data files to a storage pool to assure that the most current instance of the client data is available for restoration to the client. In addition, backed up data should be available for rapid restoration to a client if the client requires the backed data.
Unfortunately, storing backup copies of a plurality of data instances on a storage pool may increase the time required to restore an active instance of client data from the storage pool to the client, particularly when the storage pool comprises a sequential media such as magnetic tape. As a result, a most recent backup copy of a client data file, referred to herein as an active data file, may be stored to a storage pool configured to store active data files. The storage pool may be configured as an active data file storage pool (ADFSP). Because the ADFSP stores active data files, an active data file may be more quickly restored from the ADFSP.
An active data file may become an inactive data file when a subsequent copy of the client data file is backed up and/or when the client data file is deleted from the client. As a result, the storage subsystem may migrate the now inactive data file from the ADFSP to a next storage pool configured to store active data files and inactive data files. The next storage pool is referred to herein as the next pool.
The storage subsystem may migrate an inactive data file by copying the inactive data file to the next pool and deleting the inactive data file from the ADFSP. In addition, the storage subsystem may also back up the active data files of ADFSP to a copy storage pool, referred to herein as a copy pool.
The storage subsystem may also aggregate the active data files into an aggregate file stored on the ADFSP. When one or more data files of an aggregate file becomes inactive, the storage subsystem may reclaim the storage space of the now inactive data file by creating a new aggregate file that does not contain the inactive data files, migrating the original aggregate file to the next pool, and deleting the original aggregate file from ADFSP.
Unfortunately, the operations of migrating inactive data files from the ADFSP, backing up the ADFSP, and reclaiming aggregate files may each require significant storage subsystem bandwidth and time intervals to complete. As a result, the time available for performing backup, migration, and reclamation operations may be reduced.
From the foregoing discussion, it should be apparent that a need exists for an apparatus, system, and method that concurrently perform copying for backup, migration, and reclamation tasks. Beneficially, such an apparatus, system, and method would free storage subsystem bandwidth for performing the tasks.